iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
Modern Web

Node.js系列 第 9

DAY 9 NodeJS-Module、Require與Export

  • 分享至 

  • xImage
  •  

DAY 9 NodeJS-Module、Require與Export

{%hackmd BJrTq20hE %}

tags: 第 14 屆 iThome 鐵人賽 (2022)

Node.js 提供了exportrequire兩個物件,其中 exports 是模組公開的介面
require用來從外部取得一個模組介面,所取得模組的exports物件。
接下來我們就來建立自己的JS檔

Module

Module讓JavaScript在後端也具有引入其他程式碼的機制,例如:C#的類別(class)、python的import機制。Module用於存放可以重複使用的程式碼,將程式碼分門別類、以獨立的JavaScript檔儲存,在Module中存在一個代表Module本身的module物件,藉由其中的exports屬性,配合require語法,將程式碼以更靈活的架構建置。

在Node.js中,建立一個模組非常簡單,我們建立一個main.js檔案,程式如下

let date=require('./date');
date.countdown();

然後我們在目前的目錄創建一個date.js檔案

exports.countdown = function(){
    let date = new Date();
    let dDate = new Date(2023,1,11);
    let diff = Math.floor(Math.abs(dDate-date)/(1000 * 3600 * 24))+1;

    console.log(`距離生日 ${diff} 天!`);
}

在以上範例中,hello.js透過exports物件把world作為模組的存取介面,
在main.js中透過 require('/hello') 載入這個模組,然後就可以直接存取到hello.js中
export物件的成員函數了

使用require()將date Module引入為date物件,這樣就完成了基本的exports 跟 require
套件和程式之間的關係了。

結論

Module的機制讓開發更容易應用在後端開發上,透過Module設計程式碼架構,使的JS也有像是Python import 的功能提高程式的利用率。


上一篇
DAY 8 Node.js 函數
下一篇
DAY 10 JS物件方法與屬性
系列文
Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言